Systems and methods of interpreting speech data

ABSTRACT

Method and systems are provided for interpreting speech data. A method and system for recognizing speech involving a filter module to generate a set of processed audio data based on raw audio data; a translation module to provide a set of translation results for the raw audio data; and a decision module to select the text data that represents the raw audio data. A method for minimizing noise in audio signals received by a microphone array is also described. A method and system of automatic entry of data into one or more data fields involving receiving a processed audio data; and operating a processing module to: search in a trigger dictionary for a field identifier that corresponds to the trigger identifier; identify a data field associated with a data field identifier corresponding to the field identifier; and providing content data associated with the trigger identifier to the identified data field.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.14/731,819, entitled “Systems and Methods of Interpreting Speech Data”,filed Jun. 5, 2015, which claims the benefit of U.S. ProvisionalApplication No. 62/007,975, entitled “Systems and Methods ofInterpreting Speech Data”, filed Jun. 5, 2014. The entirety of each ofU.S. patent application Ser. No. 14/731,819 and U.S. ProvisionalApplication No. 62/007,975 is hereby incorporated by reference.

FIELD

The described embodiments relate to systems and methods of interpretingspeech data and in particular, providing a speech recognition system inuncontrolled environments.

BACKGROUND

In certain environments, speech data may be the only source ofinformation that is immediately available. The individuals involved inan event may be preoccupied by other urgent tasks and thus, unable torecord, by hand, the relevant details until after the event ended. Atthat time, the individuals may not be able to fully and accuratelyrecall the details, and there would be a delay before that informationwould be available to others who may require that information.

Emergency medicine, for example, tends to operate in a fast-paced andrugged environment. When attending to an individual in an emergencysituation, emergency response personnel needs to act quickly, andtypically with limited resources, to stabilize that individual as muchas possible and transport that individual to a medical center forfurther treatment by other medical professionals. Emergency responsepersonnel, therefore, have limited opportunity to record theirinteraction with the individual until after their arrival at the medicalcenter and other medical professionals assume the treatment of thatindividual. The medical professionals at the medical center, therefore,would have limited information on the condition and treatment of thatindividual.

It is, therefore, important for there to be systems and methods foraccurately capturing information based on speech data and sharing thatinformation with other relevant individuals.

SUMMARY

The various embodiments described herein generally relate to methods(and associated systems configured to implement the methods) forinterpreting speech data.

In accordance with an embodiment, there is provided a speech recognitionsystem comprising: a filter module to generate a set of processed audiodata based on raw audio data, the filter module applying filterprocesses to the raw audio data to generate the set of processed audiodata; a translation module to provide a set of translation results forthe raw audio data based on the set of processed audio data, eachtranslation result being associated with at least one processed audiodata and each translation result including a text data and a confidencelevel associated with that text data; and a decision module to selectthe text data that represents the raw audio data.

In some embodiments, the filter processes comprise at least twodifferent filter processes.

In some embodiments, the filter module comprises at least one of a blindsource filter, a phase shift filter, a subtract spectrum filter, a combfilter, a low pass filter, a high pass filter, and a band pass filter.

In some embodiments, the filter processes are provided by two or morefilters.

In some embodiments, the two or more filters comprises a compositefilter, the composite filter including two or more of a blind sourcefilter, a phase shift filter, a subtract spectrum filter, a comb filter,a low pass filter, a high pass filter, and a band pass filter.

In some embodiments, each translation result comprises a sub-set oftranslation results for at least one of the processed audio data, thesub-set of translation results including two or more text data and eachtext data is associated with a respective confidence level.

In some embodiments, the two or more text data correspond to alternativerepresentations of the raw audio data.

In some embodiments, the decision module selects the text data based ona respective confidence level.

In some embodiments, the decision module determines whether any textdata is associated with the respective confidence level that exceeds aconfidence threshold.

In some embodiments, the decision module: determines multiple text dataare associated with respective confidence levels that exceed theconfidence threshold; and selects the text data that corresponds to theraw audio data based on at least an occurrence frequency of each textdata in the multiple translation results, the occurrence frequency beinga number of times that the text data appears in the multiple translationresults.

In some embodiments, the decision module selects the text dataassociated with a highest occurrence frequency as the text data thatcorresponds to the raw audio data.

In some embodiments, the confidence threshold comprises a set ofconfidence thresholds, the set of confidence thresholds including afirst confidence threshold and at least one subsequent confidencethreshold that is lower than the first confidence threshold; and thedecision module: determines that none of the text data is associatedwith the respective confidence level that exceeds the first confidencethreshold; and determines whether any text data is associated with therespective confidence level that exceeds the at least one subsequentconfidence threshold.

In some embodiments, the decision module: determines that multiple textdata are associated with respective confidence levels that exceed the atleast one subsequent confidence threshold; and selects the text datathat corresponds to the raw audio data based on an occurrence frequencyof each text data, the occurrence frequency being a number of times thatthe text data appears in the multiple translation results.

In some embodiments, the decision module selects the text dataassociated with a highest occurrence frequency as the text data thatcorresponds to the raw audio data.

In some embodiments, the decision module selects the text dataassociated with the occurrence frequency that exceeds an occurrencethreshold as the text data that corresponds to the raw audio data.

In some embodiments, the occurrence threshold is at least three.

In some embodiments, the decision module: determines that none of thetext data is associated with the respective confidence level thatexceeds the at least one subsequent confidence threshold; and indicatesadditional processing is required to translate the raw audio data.

In some embodiments, the at least one subsequent confidence thresholdcomprises a first subsequent confidence threshold and a secondsubsequent confidence threshold that is lower than the first subsequentconfidence threshold; and the decision module: determines that none ofthe text data is associated with a confidence level that exceeds thefirst subsequent confidence threshold; determines that at least one textdata is associated with a confidence level that exceeds the secondsubsequent confidence threshold; and indicates additional processing onthe at least one text data is required to translate the raw audio data.

In some embodiments, the at least one subsequent confidence threshold iswithin a range of approximately 40% to 75%.

In some embodiments, the first subsequent confidence threshold is 75%and the second subsequent confidence threshold is 40%.

In some embodiments, the first confidence threshold is within a range ofapproximately 80% to 95%.

In accordance with an embodiment, there is provided a method ofrecognizing speech. The method comprising: generating a set of processedaudio data based on raw audio data by applying filter processes to theraw audio data to generate the set of processed audio data; providing aset of translation results for the raw audio data based on the set ofprocessed audio data, each translation result being associated with atleast one processed audio data and each translation result including atext data and a confidence level associated with that text data; andselecting the text data that corresponds to the raw audio data.

In some embodiments, the filter processes comprise at least twodifferent filter processes.

In some embodiments, each translation result comprises a sub-set oftranslation results for at least one of the processed audio data, thesub-set of translation results including two or more text data and eachtext data is associated with a respective confidence level.

In some embodiments, the two or more text data correspond to alternativerepresentations of the raw audio data.

Some of the described methods further comprise selecting the text databased on the respective confidence level.

Some of the described methods further comprise determining whether anytext data is associated with the respective confidence level thatexceeds a confidence threshold.

Some of the described methods further comprise: determining multipletext data are associated with confidence levels that exceed theconfidence threshold; and selecting the text data that corresponds tothe raw audio data based on at least an occurrence frequency of eachtext data in the multiple translation results, the occurrence frequencybeing a number of times that the text data appears in the multipletranslation results.

Some of the described methods further comprise selecting the text dataassociated with a highest occurrence frequency as the text data thatcorresponds to the raw audio data.

In some embodiments, the confidence threshold comprises a set ofconfidence thresholds, the set of confidence thresholds including afirst confidence threshold and at least one subsequent confidencethreshold that is lower than the first confidence threshold; and some ofthe described methods further comprise: determining that none of thetext data is associated with the respective confidence level thatexceeds the first confidence threshold; and determining whether any textdata is associated with the respective confidence level that exceeds theat least one subsequent confidence threshold.

Some of the described methods further comprise: determining thatmultiple text data are associated with confidence levels that exceed theat least one subsequent confidence threshold; and selecting the textdata that corresponds to the raw audio data based on an occurrencefrequency of each text data, the occurrence frequency being a number oftimes that the text data appears in the multiple translation results.

Some of the described methods further comprise: selecting the text dataassociated with a highest occurrence frequency as the text data thatcorresponds to the raw audio data.

Some of the described methods further comprise: selecting the text dataassociated with the occurrence frequency that exceeds an occurrencethreshold as the text data that corresponds to the raw audio data.

In some embodiments, the occurrence threshold is at least three.

Some of the described methods further comprise: determining that none ofthe text data is associated with the respective confidence level thatexceeds the at least one subsequent confidence threshold; and indicatingadditional processing is required to translate the raw audio data.

In some embodiments, the at least one subsequent confidence thresholdcomprises a first subsequent confidence threshold and a secondsubsequent confidence threshold that is lower than the first subsequentconfidence threshold; and the method further comprises: determining thatnone of the text data is associated with a confidence level that exceedsthe first subsequent confidence threshold; determining that at least onetext data is associated with a confidence level that exceeds the secondsubsequent confidence threshold; and indicating additional processing onthe at least one text data is required to translate the raw audio data.

In some embodiments, the at least one subsequent confidence threshold iswithin a range of approximately 40% to 75%.

In some embodiments, the first subsequent confidence threshold is 75%and the second subsequent confidence threshold is 40%.

In some embodiments, the first confidence threshold is within a range ofapproximately 80% to 95%.

In accordance with another embodiment, there is provided a method forminimizing noise in audio signals received by a microphone array. Themethod comprising: providing a principal microphone and one or moresupplemental microphones in a microphone array for receiving a principalaudio signal and one or more supplemental audio signals respectively,the principal microphone and each supplemental microphone being spacedfrom one another; for each supplemental microphone: determining an arrayphase difference based on a spacing between the principal microphone andthat supplemental microphone, the array phase difference being relativeto the principal audio signal; determining a phase shift associated witha supplemental audio signal received by that supplemental microphone;determining whether any portion of the supplemental audio signal isassociated with a respective phase shift that is different from thearray phase difference; in response to determining that a portion of thesupplemental audio signal is associated with a different phase shiftfrom the array phase difference, identifying frequencies associated withthat portion of the supplemental audio signal; and removing that portionof the supplemental audio signal and a portion of the principal audiosignal associated with the identified frequencies.

Some of the described methods further comprise: calibrating at least theprincipal microphone and each supplemental microphone prior to receivingthe principal audio signal and each supplemental audio signal.

In some embodiments, each supplemental microphone comprises a firstsupplemental microphone and a second supplemental microphone forreceiving a first supplemental audio signal and a second supplementalaudio signal respectively, each of the first supplemental microphone andthe second supplemental microphone being spaced apart from each otherand from the principal microphone.

In some embodiments, the spacing between the principal microphone andeach of the first supplemental microphone and the second supplementalmicrophone is the same.

In some embodiments, the spacing between the principal microphone andeach of the first supplemental microphone and the second supplementalmicrophone is different.

In some embodiments, two or more supplemental microphones and theprincipal microphone are provided in a triangular configuration.

In some embodiments, that supplemental microphone further comprises athird supplemental microphone and a fourth supplemental microphone forreceiving a third supplemental audio signal and a fourth supplementalaudio signal respectively, each of the third supplemental microphone andthe fourth supplemental microphone being spaced apart from each otherand from the principal microphone.

In some embodiments, the supplemental microphones surround the principalmicrophone.

In some embodiments, the supplemental microphones are provided in aquadrilateral configuration and the principal microphone is provided ata substantially central location of the quadrilateral configuration.

In some embodiments, each microphone in the microphone array isunidirectional.

In accordance with another embodiment, there is provided a method ofautomatic entry of data into one or more data fields. The methodcomprising: receiving a processed audio data, the processed audio dataincluding a trigger identifier; operating a processing module to: searchin a trigger dictionary for a field identifier that corresponds to thetrigger identifier, the trigger dictionary including a plurality oftrigger identifiers and each trigger identifier is associated with oneor more field identifiers; identify, from the one or more data fields, adata field that is associated with a data field identifier correspondingto the field identifier, the identified data field is provided forreceiving data associated with the trigger identifier; and providingcontent data associated with the trigger identifier to the identifieddata field.

In some embodiments, providing content data associated with the triggeridentifier comprises: determining a content source for the identifieddata field based on the trigger identifier, the content sourceindicating an origin of the content data to be provided to theidentified data field; and receiving the content data associated withthe trigger identifier from the determined content source.

In some embodiments, the content source is the processed audio data, theprocessed audio data including the content data associated with thetrigger identifier.

In some embodiments, providing the content data further comprises:providing a user control for receiving an input to access a portion ofthe processed audio data corresponding to the content data.

In some embodiments, the user control is displayed in proximity to thedata field.

In some embodiments, the user control is an audio icon.

In some embodiments, identifying the data field comprises: in responseto failing to identify a data field that is associated with the datafield identifier corresponding to the field identifier, indicating thecontent data associated with the trigger identifier requires additionalanalysis in order to be inputted into the respective data field.

Some of the described methods further comprise: storing, in a storagemodule, the content data associated with that trigger identifier; andassociating that content data with a manual analysis identifier forindicating that content data requires additional analysis.

In some embodiments, each trigger identifier in the trigger dictionaryis associated with one or more expected contents, each expected contentindicating data that is acceptable by the corresponding data field; andproviding the content data further comprises determining whether thecontent data corresponds with any expected content associated with thattrigger identifier.

Some of the described methods further comprise: in response todetermining the content data fails to correspond to any expectedcontent, indicating the content data associated with that triggeridentifier requires additional analysis in order to be inputted into therespective data field.

Some of the described methods further comprise: storing, in a storagemodule, the content data associated with that trigger identifier; andassociating that content data with a manual analysis identifier forindicating that content data requires additional analysis.

In some embodiments, the one or more expected contents comprises atleast one of a word, a phrase, a list of words, a list of phrases andany text data.

In some embodiments, the content source is an external device; andreceiving the content data associated with that trigger identifiercomprises initiating communication with the external device.

In some embodiments, the external device is any one of a bar codescanner, a defibrillator and a magnetic card reader.

In some embodiments, the one or more data fields are provided on a dataform.

In accordance with another embodiment, there is provided a system forautomatic entry of data into one or more data fields. The systemcomprising: a processing module configured to: receive a processed audiodata, the processed audio data including a trigger identifier; search ina trigger dictionary for a field identifier that corresponds to thetrigger identifier, the trigger dictionary including a plurality oftrigger identifiers and each trigger identifier is associated with oneor more field identifiers; identify, from the one or more data fields, adata field that is associated with a data field identifier correspondingto the field identifier, the identified data field is provided forreceiving data associated with the trigger identifier; and providecontent data associated with the trigger identifier to the identifieddata field.

In some embodiments, the processing module is further configured to:determine a content source for the identified data field based on thetrigger identifier, the content source indicating an origin of thecontent data to be provided to the identified data field; and receivethe content data associated with the trigger identifier from thedetermined content source.

In some embodiments, the content source is the processed audio data, theprocessed audio data including the content data associated with thetrigger identifier.

In some embodiments, the processing module is further configured to:provide a user control for receiving an input to access a portion of theprocessed audio data corresponding to the content data.

In some embodiments, the user control is displayed in proximity to thedata field.

In some embodiments, the user control is an audio icon.

In some embodiments, the processing module is further configured, inresponse to failing to identify a data field, to indicate the contentdata associated with the trigger identifier requires additional analysisin order to be inputted into the respective data field.

In some embodiments, the processing module is further configured to:store, in a storage module, the content data associated with thattrigger identifier; and associate that content data with a manualanalysis identifier for indicating that content data requires additionalanalysis.

In some embodiments, each trigger identifier in the trigger dictionaryis associated with one or more expected contents, each expected contentindicating data that is acceptable by the corresponding data field; andthe processing module is further configured to determine whether thecontent data corresponds with any expected content associated with thattrigger identifier.

In some embodiments, the processing module is further configured, inresponse to determining the content data fails to correspond to anyexpected content, indicate the content data associated with that triggeridentifier requires additional analysis in order to be inputted into therespective data field.

In some embodiments, the processing module is further configured to:store, in a storage module, the content data associated with thattrigger identifier; and associate that content data with a manualanalysis identifier for indicating that content data requires additionalanalysis.

In some embodiments, the one or more expected contents comprises atleast one of a word, a phrase, a list of words, a list of phrases andany text data.

In some embodiments, the content source is an external device; and theprocessing module is configured to initiate communication with theexternal device.

In some embodiments, the external device is any one of a bar codescanner, a defibrillator and a magnetic card reader.

In some embodiments, the one or more data fields are provided on a dataform.

BRIEF DESCRIPTION OF THE DRAWINGS

Several embodiments of the present invention will now be described indetail with reference to the drawings, in which:

FIG. 1 is a block diagram of components interacting with a record systemin accordance with an example embodiment;

FIG. 2 is a flowchart of a method for speech recognition in accordancewith an example embodiment;

FIG. 3 is a screenshot of a user interface for a record system inaccordance with an example embodiment;

FIG. 4 is a flowchart of a method of selecting text data to representthe raw audio data in accordance with an example embodiment;

FIG. 5 is a flowchart of a method of selecting text data to representthe raw audio data in accordance with another example embodiment;

FIG. 6A is a perspective view of an example headset;

FIG. 6B is a magnified view of a mouthpiece of the headset of FIG. 6A;

FIGS. 7A to 7C are schematics of different configurations of amicrophone array in accordance with various example embodiments;

FIG. 8 is a flowchart of a method of minimizing noise in audio signalsin accordance with an example embodiment;

FIG. 9 is a flowchart of a method of automatic entry of data inaccordance with an example embodiment; and

FIG. 10 is a screenshot of an example form that can be automaticallypropagated with content data.

The drawings, described below, are provided for purposes ofillustration, and not of limitation, of the aspects and features ofvarious examples of embodiments described herein. For simplicity andclarity of illustration, elements shown in the drawings have notnecessarily been drawn to scale. The dimensions of some of the elementsmay be exaggerated relative to other elements for clarity. It will beappreciated that for simplicity and clarity of illustration, whereconsidered appropriate, reference numerals may be repeated among thedrawings to indicate corresponding or analogous elements or steps.

DESCRIPTION OF EXAMPLE EMBODIMENTS

In certain uncontrolled environments, such as rescue situations,emergency response situations (e.g., by the police department, firedepartment or medical professionals), and large events (e.g., concerts,sports events, etc.), the collection of data, especially by hand, can bedifficult. For example, the number of individuals in those uncontrolledenvironments can vary substantially and the surrounding noise can bedifficult to manage or navigate. The information, however, may berequired to be shared with others as soon as possible so that allrelevant personnel have access to the most up-to-date information.

In many of these situations, the information can be provided by thoseindividuals as speech data. The interpretation and processing of thespeech data are described herein.

For example, in rescue situations, information regarding a medicalcondition of an individual, and past and current treatment provided tothe individual can be critical to ensuring a suitable and consistentmedical treatment. In the case of emergency medical services, however,medical information regarding that individual can be difficult to beimmediately captured and shared with other necessary medicalprofessionals. Accordingly, systems and methods for accurately capturingand sharing that information as soon as possible are needed.

Some example embodiments described herein include providing a speechrecognition system. The speech recognition system can receive raw audiodata as an individual conducts other urgent tasks, such as a medicalprofessional attending to an injured individual. To enhance the qualityof the audio data, the speech recognition system involves applyingvarious filter processes to the raw audio data to generate a set ofprocessed audio data. The filter processes may include various differentprocesses. Each filter process can generate a similar or differentprocessed audio data based on the raw audio data. The speech recognitionsystem can then generate a set of translation results for each processedaudio data. Each translation result can include, at least, a text datarepresenting the raw audio data and a confidence level for that textdata. From the set of translation results, the translation result isselected to represent the raw audio data.

In some other embodiments, the described methods involve minimizingnoise in the audio signals. The audio signals may be received by amicrophone array, for example. The microphone array can include aprincipal microphone and one or more supplemental microphones. Bydetermining an array phase difference based on a spacing between theprincipal microphone and each of the supplemental microphones, any audiosignal received at the supplemental microphone that includes a phaseshift that is different from the array phase difference can beconsidered a noise signal.

Once the raw audio data is captured by the described systems andmethods, some embodiments involve automatically entering correspondingprocessed audio data into related data fields. The processed audio datacan include a trigger identifier, for example. The trigger identifiercan be associated with at least one field identifier and that fieldidentifier can indicate which data field should receive that processedaudio data. When the processed audio data is received, a triggerdictionary can be searched to locate a field identifier that correspondsto the trigger identifier. The data field that corresponds to the fieldidentifier can then be used to receive that processed audio data.

It will be appreciated that numerous specific details are set forth inorder to provide a thorough understanding of the example embodimentsdescribed herein. However, it will be understood by those of ordinaryskill in the art that the embodiments described herein may be practicedwithout these specific details. In other instances, well-known methods,procedures and components have not been described in detail so as not toobscure the embodiments described herein. Furthermore, this descriptionand the drawings are not to be considered as limiting the scope of theembodiments described herein in any way, but rather as merely describingthe implementation of the various embodiments described herein.

The embodiments of the systems and methods described herein may beimplemented in hardware or software, or a combination of both. Theseembodiments may be implemented in computer programs executing onprogrammable computers, each computer including at least one processor,a data storage system (including volatile memory or non-volatile memoryor other data storage elements or a combination thereof), and at leastone communication interface. For example and without limitation, theprogrammable computers (referred to below as computing devices) may be aserver, network appliance, embedded device, computer expansion module, apersonal computer, laptop, personal data assistant, cellular telephone,smartphone device, tablet computer, a wireless device or any othercomputing device capable of being configured to carry out the methodsdescribed herein.

In some embodiments, the communication interface may be a networkcommunication interface. In embodiments in which elements are combined,the communication interface may be a software communication interface,such as those for inter-process communication (IPC). In still otherembodiments, there may be a combination of communication interfacesimplemented as hardware, software, and combination thereof.

Program code may be applied to input data to perform the functionsdescribed herein and to generate output information. The outputinformation is applied to one or more output devices, in known fashion.

Each program may be implemented in a high level procedural or objectoriented programming and/or scripting language, or both, to communicatewith a computer system. However, the programs may be implemented inassembly or machine language, if desired. In any case, the language maybe a compiled or interpreted language. Each such computer program may bestored on a storage media or a device (e.g. ROM, magnetic disk, opticaldisc) readable by a general or special purpose programmable computer,for configuring and operating the computer when the storage media ordevice is read by the computer to perform the procedures describedherein. Embodiments of the system may also be considered to beimplemented as a non-transitory computer-readable storage medium,configured with a computer program, where the storage medium soconfigured causes a computer to operate in a specific and predefinedmanner to perform the functions described herein.

Furthermore, the system, processes and methods of the describedembodiments are capable of being distributed in a computer programproduct comprising a computer readable medium that bears computer usableinstructions for one or more processors. The medium may be provided invarious forms, including one or more diskettes, compact disks, tapes,chips, wireline transmissions, satellite transmissions, internettransmission or downloadings, magnetic and electronic storage media,digital and analog signals, and the like. The computer useableinstructions may also be in various forms, including compiled andnon-compiled code.

Reference is first made to FIG. 1, which illustrates a block diagram 100of components interacting with an example embodiment of a record system120. As shown in FIG. 1, the record system 120 is in communication, viaa network 140, with one or more computing devices 160, such as computingdevice 160 a and computing device 160 b, and a remote storage 150.

The network 140 may be any network capable of carrying data, includingthe Internet, Ethernet, plain old telephone service (POTS) line, publicswitch telephone network (PSTN), integrated services digital network(ISDN), digital subscriber line (DSL), coaxial cable, fiber optics,satellite, mobile, wireless (e.g. Wi-Fi, WiMAX), SS7 signaling network,fixed line, local area network, wide area network, and others, includingany combination of these, capable of interfacing with, and enablingcommunication between the computing devices 160, the record system 120and/or the remote storage 150.

The record system 120 can include various modules, such as a processingmodule 122, an interface module 124, an applications module 126, a localstorage module 128, and a speech recognition module 130. As will bedescribed, the speech recognition module 130 can include a filter module132, a translation module 134 and a decision module 136. As shown inFIG. 1, the various modules in the record system 120 can be inelectrical communication with each other.

It will be understood that in some embodiments, each of the processingmodule 122, the interface module 124, the applications module 126, thelocal storage module 128, the filter module 132, the translation module134 and the decision module 136 may be combined into fewer number ofmodules or may be separated into further modules. Furthermore, theprocessing module 122, the interface module 124, the applications module126, the local storage module 128, the filter module 132, thetranslation module 134 and the decision module 136 may be implemented insoftware or hardware, or a combination of software and hardware.Furthermore, the modules 132, 134 and 136 are typically implementedusing software, but there may be embodiments in which they may beimplemented with some hardware, such as application specific circuitryor some other suitable technique.

The processing module 122 may be configured to control the operation ofthe record system 120. The processing module 122 may be any suitableprocessors, controllers or digital signal processors that can providesufficient processing power depending on the configuration, purposes andrequirements of the record system 120. In some embodiments, theprocessing module 122 can include more than one processor, with eachprocessor being configured to perform different dedicated tasks.

The processing module 122 can initiate and manage the operations of eachof the other modules in the record system 120. The processing module 122may also determine, based on received data, stored data and/or userpreferences, how the processing module 122 may generally operate.

The interface module 124 may be any interface that enables the recordsystem 120 to communicate with other devices and systems. In someembodiments, the interface module 124 can include at least one of aserial port, a parallel port or a USB port. The interface module 124 mayalso include at least one of an Internet, Local Area Network (LAN),Ethernet, Firewire, modem or digital subscriber line connection. Variouscombinations of these elements may be incorporated within the interfacemodule 124.

For example, the interface module 124 may receive input from variousinput devices, such as a mouse, a keyboard, a touch screen, athumbwheel, a track-pad, a track-ball, a card-reader, voice recognitionsoftware and the like depending on the requirements and implementationof the record system 120.

The applications module 126 can include one or more different programsthat can be initiated for facilitating the capture and sharing of theaudio data. The speech recognition module 130 may be provided as part ofthe applications module 126, for example. Other example programs caninclude a noise minimization program for reducing noise data in theaudio data and an automatic data entry program for automaticallyentering processed audio data into one or more fields on a form. Each ofthese example programs will be further described.

The local storage module 128 can include RAM, ROM, one or more harddrives, one or more flash drives or some other suitable data storageelements such as disk drives, etc. The local storage module 128 mayfurther include one or more databases (not shown) for storinginformation relating to, for example, the user 110 providing the speechdata (e.g., a medical personnel) and the computing devices 160, and atrigger word dictionary. For emergency response applications, the localstorage module 128 may further include records associated with therelevant individuals (e.g., individuals receiving treatment, etc.) andemergency response forms. In some embodiments, one database may be usedto store this information. In some other embodiments, one database maybe used to store, for example, information related to the computingdevices 160 (e.g., operational capabilities of the computing devices160) and another database may be used to store, for example, informationrelated to the user 110 (e.g., an access level of the medicalprofessional or police officer).

Similar to the local storage module 128, the remote storage 150 caninclude one or more databases for storing information relating to, forexample, the user 110 and the computing devices 160, and a trigger worddictionary. For emergency response applications, the remote storage 150may include records associated with the relevant individuals (e.g., anindividual receiving treatment or being arrested) and relevant forms(e.g., medical forms, event organization checklists, etc.). Thedatabases may be provided on one or more computer servers, for example.The computer may be distributed over a wide geographic area andconnected via the network 140.

The speech recognition module 130 can receive raw audio data via thenetwork 140 from one or more of the computing devices 160 and provide atext data corresponding to a translation of that raw audio data. In theexample shown in FIG. 1, raw audio data may be received via theinterface module 124 from the computing device 160 b worn by a user 110and/or from the computing device 160 a. It will be understood that afewer or a greater number of computing devices 160 may communicate withthe record system 120 via the network 140.

Each of the computing devices 160 may be any networked device operableto connect to the network 140. A networked device is a device capable ofcommunicating with other devices through a network such as the network140. A network device may couple to the network 140 through a wired orwireless connection.

These computing devices 160 may include at least a processor and memory,and may be an electronic tablet device, a personal computer,workstation, server, portable computer, mobile device, personal digitalassistant, laptop, smart phone, WAP phone, an interactive television,video display terminals, gaming consoles, and portable electronicdevices or any combination of these.

In some embodiments, these computing devices 160 may be a laptop or asmartphone equipped with a network adapter for connecting to theInternet. In some embodiments, the connection request initiated from thecomputing devices 160 a and 160 b may be initiated from a web browserand directed at a web interface provided by the interface module 124.

In some embodiments, the computing devices 160 may be in electricalcommunication with another electronic device for capturing the audiodata. For example, in FIG. 1, the computing device 160 b receives rawaudio data captured by a microphone of a headset 112 worn by that user110. The user 110 may be an emergency response personnel, such as anemergency medical technician (EMT), an event organizer, or other usersproviding the speech data.

In the example of an emergency response situation, as the medicalprofessional 110 provides treatment to an individual, the medicalprofessional 110 can audibly describe the interaction and the treatmentbeing provided to that individual so that the information is captured bythe microphone. The headset 112 can then provide the received audio datato the computing device 160 b via a wired or wireless connection.

Raw audio data may similarly be provided by the computing device 160 a,which can receive and store relevant information for the record system120.

The raw audio data received by the speech recognition module 130 istypically embedded with noise artifacts from the environment. Forexample, when the raw audio data is provided from the computing device160 b during an emergency response, the resulting raw audio data mayinclude a substantial amount of noise generated from the road (e.g.,construction, traffic, etc.), weather conditions (e.g., rain, thunder,etc.), the ambulance or police vehicle or fire truck (e.g., siren sound,medical machinery, etc.), conversations between the relevant individuals(e.g., medical professionals providing treatment to the individual),sounds from the individual being treated and other factors.

To enhance the quality of the audio data, the filter module 132 canreceive and process the raw audio data to remove as much of the noiseartifacts as possible. For example, the filter module 132 can generate aset of processed audio data based on the raw audio data by applyingfilter processes to the raw audio data. The filter processes may includetwo or more different filter processes and so, different processed audiodata may be generated from those filter processes. Each of the filterprocess may be provided by a different filter. For example, the filtermodule may include one or more of a source filter, a phase shift filter,a subtract spectrum filter, a comb filter, a low pass filter, a highpass filter, and/or a band pass filter. In some embodiments, the filtermodule can include a composite filter which is a combination of two ormore different filters. It will be understood that other similar filtersmay be used.

By providing multiple different processed audio data with the differentfilters, the filter module 132 can enhance the quality of the processedaudio data since different filters are more suited for certainsituations. For example, the blind source filter is generally moreappropriate for environments with a large amount of noise, such as inenvironments where a large number of conversations are taking place. Thephase shift filter is more appropriate for environments with fewer noisesources and noise sources that are not generating signals from the samedirection as an audio source. Certain other filters, such as the lowpass filter, the high pass filter and the band pass filter, areappropriate for eliminating discrete and more easily distinguishablenoise sources, such as tire and engine noise of the ambulance.

After the filter module 132 generates the set of processed audio data,the translation module 134 can provide a set of translation results forthe raw audio data based on the processed audio data. Each translationresult can include a text data corresponding to the processed audio dataand a confidence level associated with that text data. In someembodiments, each translation result can include two or more differenttext data and each text data is associated with a different confidencelevel. The different text data corresponds to alternativerepresentations of the raw audio data based on that processed audiodata.

In some embodiments, the translation module 134 may separate the set ofprocessed audio data into one or more portions based on variousgrammatical or audio indicators. For example, the translation module 134may identify the occurrence of each pause in the processed audio dataand separate the processed audio data into portions that correspond toindividual words. The translation module 134 may also separate theprocessed audio data into phrases based on one or more trigger words inthe audio data.

Based on the set of translation results generated by the translationmodule 134, the decision module 136 can determine and select one of thetranslation results to represent the raw audio data. As will bedescribed, the decision module 136 may select the translation result forthe raw audio data based on various different algorithms.

Example embodiments of the operation of the speech recognition module130 will now be described with reference to FIGS. 2 to 5.

Referring now to FIG. 2, an example method 200 for speech recognition isshown in a flowchart. To illustrate the example method, reference willbe made simultaneously to FIG. 3, which is a screenshot of a userinterface 300 for the record system 120.

At 210, the filter module 132 generates processed audio data by applyingfilter processes to raw audio data.

As shown in the filter list 310 of FIG. 3, in this example, the filtermodule 132 can apply three different filter processes with differentfilters 312 to the raw audio data. The different filters 312 include nofilter 312 a, a high pass filter 312 b and a low pass filter 312 c. Eachfilter 312 can generate a processed audio data corresponding to the rawaudio data.

Different filters are suited for different environments. The use ofdifferent filter processes at the filter module 132 can be crucial forremoving as much noise signals as possible from the audio signal. Forexample, the high pass filter 312 b and the low pass filter 312 c can bemore appropriate for eliminating discrete noise sources, which may bemore appropriate in the example of FIG. 3.

At 220, the translation module 134 provides a set of translation resultsfor the raw audio data based on the processed audio data.

The translation module 134 provides at least one translation result foreach processed audio data. An example set of translation results isgenerally shown at 320 in FIG. 3. The set of translation results 320includes multiple translation results, such as 322, 324, 326 and 328,for each processed audio data. In the example of FIG. 3, the processedaudio data are phrases.

Each translation result includes a text data and a confidence levelassociated with that text data. The confidence level may correspond tostatistical values generated by known speech recognition engines. Thespeech recognition module 130 may alternatively generate confidencelevels based on factors corresponding to the user preferences and theenvironment.

For the translation results 322, the translation module 134 determinedthat the processed audio data generated by filters 312 a and 312 bcorrespond to the text “Email my Mom”. Each of the text data isassociated with a different confidence level, namely 93.604% for theprocessed audio data generated by filter 312 a and 91.986% for theprocessed audio data generated by filter 312 b. For the processed audiodata generated by the filter 312 c, the translation module 134determines that the corresponding text data is “Email my Dad” with aconfidence level of 5.694%.

For the translation results 324, the translation module 134 determinedthat the processed audio data generated by filters 312 a and 312 bcorrespond to the text “Phone your Sister”. Each of the text data isassociated with a different confidence level, namely 94.115% for theprocessed audio data generated by filter 312 a and 93.075% for theprocessed audio data generated by filter 312 b. For the processed audiodata generated by the filter 312 c, the translation module 134 wasunable to determine a corresponding text data. The audio signal in theraw audio data may be associated with a high range of frequency that wasremoved by the low pass filter 312 c and therefore, the filter 312 c maynot be appropriate for the raw audio data in the example shown in FIG.3.

For the translation results 326, the translation module 134 determinedthat the processed audio data generated by filters 312 a and 312 ccorrespond to the text “Text your Brother” and the processed audio datagenerated by the filter 312 b correspond to the text “Text yourBrother-in-Law”. Each of the text data, however, is associated with adifferent confidence level, namely 95.247% for the processed audio datagenerated by filter 312 a, 93.895% for the processed audio datagenerated by filter 312 b and 2.532% for the processed audio datagenerated by filter 312 c. Although the translation module 134determined the same text data based on the processed audio data providedby the filters 312 a and 312 c, the corresponding confidence levels arevery different between the data provided by filter 312 a and filter 312c.

Similar to the translation results 322, the translation results 328include text data corresponding to processed audio data generated by thefilters 312 a and 312 b that are associated with a higher confidencelevel, namely 95.503% and 95.381% respectively, than the text datacorresponding to processed audio data generated by the filter 312 c(confidence level of 9.3665%).

At 230, the decision module 136 selects the text data that representsthe raw audio data.

The decision module 136 determines which text data represents the rawaudio data based on the confidence level associated with each of thetext data. In some embodiments, the decision module 136 may select thetext data associated with the highest confidence level. In someembodiments, the decision module 136 may select the text data thatexceeds a confidence threshold. Example embodiments for selecting thetext data will be described with reference to FIGS. 4 and 5.

FIG. 4 is a flowchart of an example method 400 of selecting text datafor the raw audio data.

At 402, the decision module 136 receives translation results from thetranslation module 134.

The set of translation results 320 can be provided to the translationmodule 134 for processing. In some embodiments, the decision module 136may receive the set of translation results 320 in segments. That is, thedecision module 136 can receive and process the translation results 322separately from the translation results 324.

At 404, the decision module 136 determines if any text data isassociated with a confidence level that exceeds a first confidencethreshold.

The first confidence threshold is a confidence level that generallyindicates the corresponding text data is an acceptable, and likelyaccurate, representation of the raw audio data. Therefore, when a textdata is associated with the confidence level that exceeds the firstconfidence threshold, the decision module 136 can determine that textdata represents the raw audio data and can proceed to 406. For example,referring again to FIG. 3, if the first confidence threshold is 90%, thetext data associated with filters 312 a and 312 b are associated with aconfidence level that exceeds the first confidence threshold.

Alternatively, if the first confidence threshold is 95%, none of thetranslation results 322 are associated with the confidence level thatexceeds the first confidence threshold. In this case, the decisionmodule 136 can proceed to 412.

In some embodiments, the first confidence threshold may be within arange of approximately 80% to 95%. In some embodiments, the firstconfidence threshold may vary for different users and therefore, maydepend on the user preference settings associated with the user.

At 406, the decision module 136 determines whether there are more thanone text data that exceeds the first confidence threshold.

Continuing with the example of the first confidence threshold being 90%for the translation results 322, since both the text data correspondingto filters 312 a and 312 b are associated with a confidence level thatexceeds the first confidence threshold, the decision module 136 proceedsto 410 to determine which of the text data represents the raw audiodata.

If the decision module 136 determines that only one text data isassociated with a confidence level that exceeds the first confidencethreshold, the decision module 136 selects that text data as the textdata to represent the raw audio data (at 408).

At 410, the decision module 136 selects text data with the highestoccurrence frequency to represent the raw audio data.

The decision module 136 can select one of the text data based on theoccurrence frequency of that text data. The occurrence frequency is anumber of times that the text data appears in the translation results.The decision module may select the text data associated with a highestoccurrence frequency as the text data that represents the raw audiodata. In some embodiments, the decision module 136 can select the textdata based on whether the associated occurrence frequency exceeds anoccurrence threshold. The occurrence threshold may be at least three.

Still continuing with the example of the first confidence thresholdbeing 90% for the translation results 322, the decision module 136determines that the text data corresponding to filters 312 a and 312 bare the same and therefore, the occurrence frequency for the text data,“Email my Mom”, is two. The text data associated with either filters 312a and 312 b can be used.

In another example in which the first confidence threshold is again 90%,the translation results 326 includes text data corresponding to filters312 a and 312 b that are associated with a confidence level that exceedsthe first confidence threshold. In order to select the text data betweenthe filters 312 a and 312 b, the decision module 136 determines that theoccurrence frequency for the text data “Text your Brother” is two sincethe text data corresponding to the filter 312 c is also “Text yourBrother”, whereas the occurrence frequency for the text data “Text yourBrother-in-law” corresponding to the filter 312 b is one. Accordingly,the decision module 136 can select the text data corresponding to thefilter 312 a to represent the raw audio data.

At 412, after determining that none of the text data is associated witha confidence level that exceeds the first confidence threshold, thedecision module 136 determines whether any text data is associated witha confidence level that exceeds a subsequent confidence threshold andalso exceeds the occurrence frequency threshold.

Generally, the decision module 136 may operate using a set of differentconfidence thresholds, such as the first confidence threshold and atleast one subsequent confidence threshold that is lower than the firstconfidence threshold. For example, the subsequent confidence thresholdmay be within a range of approximately 40% to 75%.

Although the text data associated with a confidence threshold thatexceeds the first confidence threshold is preferred, text data that isassociated with a lower confidence threshold may still be an acceptablerepresentation of the raw audio data. Continuing now with the aboveexample for the translation results 322 in which the first confidencethreshold is 95%. Although none of the translation results 322 areassociated with the confidence level that exceeds the first confidencethreshold, if the subsequent confidence threshold is 70%, the text datacorresponding to both filters 312 a and 312 b are associated with aconfidence level that exceeds the subsequent confidence threshold.

Since none of the text data in the translation results 322 is associatedwith a confidence level that exceeds the first confidence threshold, thedecision module 136 further verifies that the text data represents theraw audio data by determining whether the text data is associated withthe occurrence frequency that exceeds the occurrence frequencythreshold. Similar to the confidence threshold, the occurrence frequencythreshold is a minimum number of times for a text data to appear in thetranslation results in order to justify that text data to be anacceptable representation of the raw audio data.

Continuing with the example for the translation results 322 with thesubsequent confidence threshold as 70%, in the case that the occurrencefrequency threshold is three, neither text data corresponding to filters312 a and 312 b would be sufficient since, as noted above, theoccurrence frequency for the text data, “Email my Mom”, is two. Thedecision module 136, therefore, proceeds to 414.

In the case that the decision module 136 determines that multiple textdata is associated with a confidence level that exceeds the subsequentconfidence threshold and is also associated with an occurrence frequencythat exceeds the occurrence frequency threshold, the decision module 136proceeds to 406 to select one of those text data to represent the rawaudio data.

At 414, after determining that none of the text data is associated withboth a confidence level that exceeds the subsequent confidence thresholdand an occurrence frequency that exceeds the occurrence frequencythreshold, the decision module 136 determines whether there is any textdata associated with a confidence level that exceeds the subsequentconfidence threshold.

If the decision module 136 determines that there is at least one textdata that exceeds the subsequent confidence threshold, the decisionmodule 136 proceeds to 406 to determine whether there is more than onetext data that exceeds the subsequent confidence threshold.

However, if the decision module 136 determines that there is no textdata associated with a confidence threshold that exceeds the subsequentconfidence threshold, the decision module 136 indicates that furtheranalysis or processing of the raw audio data is required (at 416). Forexample, the decision module 136 may indicate that manual translation ofthe raw audio data may be required.

FIG. 5 is a flowchart of another example method 500 of selecting textdata for the raw audio data.

At 502, the decision module 136 receives translation results from thetranslation module 134.

At 504, the decision module 136 determines whether any text data isassociated with a confidence level that exceeds the first confidencethreshold.

Similar to 404, if the decision module 136 determines there is text dataassociated with a confidence level that exceeds the first confidencethreshold, the decision module 136 proceeds to 506. However, if thedecision module 136 determines that no text data is associated with aconfidence level that exceeds the first confidence threshold, thedecision module 136 proceeds to 508.

At 506, after determining that there is text data associated with aconfidence level that exceeds the first confidence threshold, thedecision module 136 selects the text data with the highest occurrencefrequency to represent the raw audio data.

At 508, after determining that no text data is associated with aconfidence level that exceeds the first confidence threshold, thedecision module 136 determines whether any text data is associated witha confidence level that exceeds a first subsequent confidence threshold.

As described, the decision module 136 may operate based on multipleconfidence thresholds, such as the first confidence threshold andmultiple subsequent confidence thresholds. Each of the subsequentconfidence thresholds is lower than the first confidence threshold. Insome embodiments, the first subsequent confidence threshold can beapproximately 75%. It will be understood that other values for the firstsubsequent confidence threshold may also be used.

By providing multiple tiers of confidence thresholds, different degreesof tolerance in the accuracy of the text data may be acceptable. Forexample, in certain applications, the first confidence threshold may bethe only confidence threshold used by the decision module 136 if a highdegree of accuracy is required. In certain other applications where alesser degree of accuracy is possible, multiple different confidencethresholds may be used. That is, even if none of the text data isassociated with a confidence level that satisfies the first confidencethreshold, some of the text data may satisfy one or more subsequentconfidence thresholds, and those text data may be used to represent theraw audio signal.

If the decision module 136 determines that there is text data associatedwith a confidence level that exceeds the first subsequent confidencethreshold, the decision module 136 proceeds to 506 (at which point textdata with the highest occurrence frequency is selected to represent theraw audio data). However, if the decision module 136 determines thatthere is no text data associated with a confidence level that exceedsthe first subsequent confidence threshold, the decision module 136proceeds to 510.

At 510, after determining that none of the text data is associated witha confidence level that exceeds the first subsequent confidencethreshold, the decision module 136 determines whether any text data isassociated with a confidence level that exceeds a second subsequentconfidence threshold.

The second subsequent confidence threshold is less than the firstsubsequent confidence threshold. In some embodiments, the secondsubsequent confidence threshold can be approximately 40%. It will beunderstood that other values for the second subsequent confidencethreshold may also be used.

Compared to each of the first confidence threshold and the firstsubsequent confidence threshold, the second subsequent confidencethreshold is much lower and therefore, is suitable for applications thatcan tolerate a low degree of accuracy. Due to the low confidence level,the decision module 136 may require further processing (at 512) even ifthere is text data that is associated with a confidence threshold thatexceeds the second subsequent confidence threshold. The furtherprocessing may involve a manual analysis of the text data to ensure thatthe text data properly correspond to the raw audio data.

If, on the other hand, the decision module 136 determines that no textdata is associated with a confidence threshold that exceeds the secondsubsequent confidence threshold, the decision module 136 can indicatethat no translation is available for the raw audio data (at 514). Thespeech recognition module 130 may not be able to provide a translationfor the raw audio data if there is too much noise signal in the rawaudio data, for example.

It will be understood that although only two subsequent confidencethresholds are described with respect to FIG. 5, a greater number ofsubsequent confidence thresholds may be used.

FIGS. 6A and 6B illustrate different views of the headset 112. FIG. 6Ais a perspective view of the headset 112. As shown in FIG. 6A, theheadset 112 in this embodiment includes an earpiece 610 and a mouthpiece612. It will be understood that the arrangement of the headset 112 ismerely an example and that other example arrangements of the headset 112may be used. For example, the headset 112 may be provided such that theearpiece 610 and the mouthpiece 612 may not be directly attached to eachother and may instead be provided as two or more separate components.

A magnified view of the mouthpiece 612 is shown in FIG. 6B. Themouthpiece 612 can include a microphone array 620 composed of two ormore microphones, such as a first microphone 622 and a second microphone624. The first microphone 622 is separated from the second microphone624 by a spacing 602. A schematic 700A of the microphone array 620interacting with an audio source 640 is shown in FIG. 7A.

Generally, providing the microphone array 620 at the mouthpiece 612 canhelp to minimize noise signals at the received audio signals. Themicrophones 622 and 624 in the microphone array 620 are provided in apredefined orientation with respect to the audio source 640. To furthercontrol an orientation of each of the microphones 622 and 624, themicrophones 622 and 624 may be unidirectional. Since the orientation andposition of the microphones 622 and 624 are predefined with respect tothe audio source 640, the phase difference associated with the audiosignal received at each of the microphones 622 and 624 can bedetermined.

FIG. 8 is a flowchart of an example method 800 of minimizing noise inaudio signals received by the microphone array 620. The method 800 willbe described with reference to FIGS. 7A to 7C.

At 810, the processing module 122 determines an array phase differencebased on the spacing 602 between a principal microphone and asupplemental microphone.

Referring to FIG. 7A, one of the first microphone 622 and the secondmicrophone 624 may be referred to as the principal microphone and theother as the supplemental microphone. The principal microphone canreceive a principal audio signal A_(p) from the audio source 640 and thesupplemental microphone can receive a supplemental audio signal A_(s)from the supplemental microphone.

For example, the first microphone 622 in FIG. 7A can act as theprincipal microphone and the second microphone 624 can act as thesupplemental microphone. Example audio paths for each of the principalaudio signal A_(p) and the supplemental audio signal A_(s) areillustrated in FIG. 7A. As can be seen from FIG. 7A, the audio path forthe supplemental audio signal A_(s) differs from the audio path for theprincipal audio signal A_(p) by a distance 630. Based on at least thedistance 630, the spacing 602 and the predefined orientation of thesupplemental microphone, the processing module 122 can determine, usingvarious trigonometry functions, the array phase difference relative tothe principal audio signal A_(p). The array phase difference generallycorresponds to the spacing 602 between the microphones 622 and 624.

In an ideal environment that is not subject to any noise signals, thesupplemental audio signal A_(s) will be different from the principalaudio signal A_(p) by the array phase difference. However, the describedsystem generally operates in rugged environments that are subject tonoise artifacts. The determined array phase difference can therefore beused by the processing module 122 to identify and remove noise signals.

It will be understood that other configurations of the microphone array620 can be used. For example, FIG. 7B is a schematic 700B of amicrophone array 620B composed of three microphones 722, 724, and 726.The microphone array 620B may be provided in a triangular configuration.

In embodiments in which more than two microphones are provided in themicrophone array 620, one of the microphones will be referred to as theprincipal microphone while the others will be referred to as varioussupplemental microphones since an array phase difference will bedetermined for each of the supplemental microphones with respect to theprincipal microphone.

In the microphone array 620B of FIG. 7B, for example, the microphone 726can act as the principal microphone while microphones 722 and 724 act asfirst and second supplemental microphones, respectively. The processingmodule 122 can then determine an array phase difference for a firstsupplemental audio signal A_(s1) received by the first supplementalmicrophone 722 based on, at least, its orientation with respect to theaudio source 640, the distance 730, and the spacing 704, and similarly,the processing module 122 can determine an array phase difference for asecond supplemental audio signal A_(s2) received by the secondsupplemental microphone 724 based on, at least, its orientation withrespect to the audio source 640, the distance 732, and the spacing 704.

In some embodiments, the spacing 702 between the principal microphone726 and the supplemental microphone 722 can be the same as the spacing704 between the principal microphone 726 and the supplemental microphone724. In some other embodiments, the spacing 702 between the principalmicrophone 726 and the supplemental microphone 722 can be the differentfrom the spacing 704 between the principal microphone 726 and thesupplemental microphone 724.

Another example configuration for the microphone array 620 is shown inFIG. 7C. FIG. 7C is a schematic 700C of a microphone array 620C composedof five microphones 742, 744, 746, 748 and 750.

In the microphone array 620C of FIG. 7C, the microphone 742 can act asthe principal microphone while microphones 744, 746, 748 and 750 act asthe first, second, third and fourth supplemental microphones,respectively. Similar to the microphone arrays 620 and 620B, theprocessing module 122 can determine an array phase difference for eachof the supplemental audio signals received by the first, second, thirdand fourth supplemental microphones. For ease of exposition, only theaudio paths for the supplemental audio signals as received by themicrophones 742, 748 and 750 are illustrated in FIG. 7C. It will beunderstood that the audio paths for the other microphones 744 and 746are analogous to the audio paths for microphones 748 and 750.

As shown in FIG. 7C, the processing module 122 can determine an arrayphase difference for a third supplemental audio signal A_(s3) receivedby the third supplemental microphone 748 based on, at least, itsorientation with respect to the audio source 640, the distance 760, andthe spacing 756, and similarly, the processing module 122 can determinean array phase difference for a fourth supplemental audio signal A_(s4)received by the fourth supplemental microphone 750 based on, at least,its orientation with respect to the audio source 640, the distance 760,and the spacing 758.

The microphone array 620C may be provided in various differentconfigurations in which the supplemental microphones 744, 746, 748 and750 generally surround the principal microphone 742. An exampleconfiguration is shown in FIG. 7C in which the supplemental microphones744, 746, 748 and 750 are provided in a quadrilateral configuration andthe principal microphone 742 is provided at a substantially centrallocation of the quadrilateral configuration.

The orientation of each of the microphones in the microphone array 620with respect to the audio source 640 will vary based on various factors,such as a number of microphones in the microphone array 620. The use ofa greater number of microphones in the microphone array 620 can increasethe accuracy of the audio signal since noise signals from a greaternumber of directions can be removed. However, although accuracy of theaudio signal can be increased with a greater number of microphones, thenumber of microphones used in the microphone array 620 needs to bebalanced with other constraints, such as manufacturing cost and powerrequirements. It will be understood that a range of two to fivemicrophones in the microphone array 620 can generally produce asufficiently accurate audio signal balanced with a reasonablemanufacturing cost and power consumption.

At 820, the processing module 122 determines a phase shift associatedwith a supplemental audio signal A_(s) received by each supplementalmicrophone in the microphone array 620.

Continuing with reference to FIG. 7A, the processing module 122 operatesto determine a phase shift at each frequency in the supplemental audiosignal A_(s) as compared with the principal audio signal A_(p).

At 830, the processing module 122 determines whether any portion of thesupplemental audio signal A_(s) is associated with a phase shift that isdifferent from the array phase difference.

The processing module 122 can identify portions of the supplementalaudio signal A_(s) that is associated with a phase shift that isdifferent from the array phase difference by comparing the phase shiftat each frequency in the supplemental audio signal A_(s) with the arrayphase difference determined at 810. As described, in an idealenvironment with minimal to no noise signals, the principal audio signalA_(p) should be different from the supplemental audio signal A_(s) onlyby the array phase difference due to the spacing 602 between theprincipal microphone 622 and the supplemental microphone 624. Therefore,if the processing module 122 determines that the phase shift at eachfrequency of the supplemental audio signal A_(s) is the array phasedifference, the processing module 122 can indicate that there is aminimal amount of noise signal in the audio signal (at 860).

In some embodiments, the processing module 122 may permit a range oftolerance between the phase shift and the array phase difference sincethe system may withstand a certain level of noise signals within theaudio signals. The range of tolerance may vary depending on the relevantfrequencies of interest. Depending on the requirement of the system, therange of tolerance may be provided as a range of percentage or absolutevalues. For example, for certain frequencies, the range of tolerance maybe 3 to 10% of the array phase difference.

However, if the processing module 122 determines that the phase shift atone or more frequencies of the supplemental audio signal A_(s) isdifferent from the array phase difference or exceeds the range oftolerance, the processing module 122 proceeds to 840. Noise signals thatare introduced by the environment would appear within the supplementalaudio signal A_(s) as being associated with a phase shift that isdifferent from the array phase difference.

At 840, the processing module 122 identifies frequencies associated withthe portion of the supplemental audio signal A_(s) that is associatedwith a phase shift that is different from the array phase difference forthat supplemental microphone.

Based on the identified portion of the supplemental audio signal A_(s)at 830, the processing module 122 can identify corresponding frequencieswithin the supplemental audio signal A_(s) that are associated withnoise signals. The processing module 122 can identify those frequenciesas being associated with noise signals that require removal from theaudio signals in order to enhance the quality of the audio signals.

As described, an increasing amount of noise signals can be removed withthe application of a greater number of supplemental microphones, such asin the microphone arrays 620B and 620C shown in respective FIGS. 7B and7C.

At 850, the processing module 122 removes that portion of thesupplemental audio signal A_(s) and potentially a portion of theprincipal audio signal A_(p) associated with the identified frequencies.

Since the noise signals that require removal will similarly impair theprincipal audio signal A_(p) at the identified frequencies, theprocessing module 122 can remove any portion of each of the supplementalaudio signal A_(s) and principal audio signal A_(p) that are associatedwith those identified frequencies.

In some embodiments, prior to receiving any audio signals, theprocessing module 122 may initiate calibration of the microphones in themicrophone array 620. The calibration may occur after different periodsof use.

Generally, audio components at the mouthpiece 612, such as themicrophones and audio amplifiers, can introduce a phase shift at variousdifferent frequencies. The microphones and audio amplifiers can becalibrated together by identifying those phase shift values for therespective components, and storing those phase shift values in the localstorage module 128 or the remote storage 150, for example. Theprocessing module 122 may then subtract those phase shift values fromany phase shift or angle calculations that may be performed for thosemicrophones in order to remove phase shifts introduced by thosecomponents.

The record system 120 may also facilitate the entry of data into datafields of a form. For example, in emergency medical situations, ensuringa suitable and consistent medical treatment relies largely on accuratelycapturing and sharing that information as soon as possible. Similarly,other environments, such as police investigations or fire response, canrely on rapid collection and sharing of information.

Accordingly, the applications module 126 may include one or moresoftware programs that can be initiated by the processing module 122 forfacilitating automatic entry of data into the respective forms, such asthe automatic data entry program briefly described.

FIG. 9 is a flowchart of an example method 900 of automatic entry ofdata. FIG. 10 is a screenshot 1000 of an example form 1010 that can beautomatically populated with data. The form may be a medical informationrelated form. It will be understood that other types of forms can beused with the described methods.

The form 1010 can include various different types of data fields, suchas drop down boxes, text boxes, checkboxes, combo boxes, buttons andother similar data fields. Each of the data fields is associated with atleast one field identifier that can generally represent the type of datato be provided to that data field. The form 1010 shown in FIG. 10includes various data fields, such as a Call Date field 1020 forreceiving data associated with a date and/or time of the emergency call,an arrival date field 1022 for receiving data associated with a dateand/or time of the arrival of the emergency response personnel, an EMTfield 1024 for receiving data identifying at least one of the emergencyresponse personnel who responded to the emergency call, a location field1026 for receiving data associated with a physical address of theemergency, a patient name field 1028 for receiving data associated withthe patient receiving treatment, a patient address field 1030 forreceiving data associated with an address of the patient receiving thetreatment, a primary concern field 1032 for receiving data associatedwith a main complaint by the patient and a procedure field 1034 forreceiving data associated with the treatment provided to the patient.Once the user 110 provides the necessary data to the record system 120,the processing module 122 may propagate any of these data fields withthe corresponding data without further input from the user 110.

At 910, the processing module 122 receives processed audio data thatincludes a trigger identifier.

The processing module 122 can receive the processed version of the audiodata from the speech recognition module 130 or from one or more otherspeech recognition systems via the network 140. The processed audio datagenerally corresponds to audio data that has been, to an extent,modified or translated from raw audio data received by the record system120. The processed audio data includes one or more trigger identifiersfor indicating a type or field of data provided within the processedaudio data.

A trigger dictionary will be provided at the local storage module 128 orthe remote storage 150. The trigger dictionary includes a list oftrigger identifiers. Each trigger identifier is associated with one ormore field identifiers and one or more expected contents.

The field identifiers correspond to data fields within a form, such asform 1010. The trigger identifiers can include keywords for representingone or more data fields that are designed to receive similar data buthave been identified somewhat differently on different forms. The use oftrigger identifiers can therefore increase the number of forms that maybe used. For example, the field identifier for the Call Date field 1020may include arrival date field, call date field, date of call field, andother similar identifiers. The use of trigger identifiers can increasethe number of forms that may benefit from the method 900.

Generally, any word can be used as the trigger word for a particularfield. In the example of FIG. 10, the trigger word for the “MedicationGiven” field or “Medication Administered” field is “Proc” (not shown),which represents “Procedure”. Each of the relevant fields is thenpropagated with the corresponding text, namely “Aspirin”, “Epinephrine”,“Morphine” and “Gravol”.

The expected contents associated with each trigger identifier caninclude types of data (e.g., numerals or text) or content data that isacceptable, or appropriate, for the corresponding data field. Theexpected content may include any one or more of a word, a phrase, a listof words, a list of phrases and any text data. For example, in the EMTfield 1024, the expected content may include a list of emergency medicaltechnicians available on that call date.

At 920, the processing module 122 searches in the trigger dictionary fora field identifier that corresponds to the trigger identifier.

Based on the trigger identifier in the processed audio data, theprocessing module 122 can parse the trigger dictionary and identify theassociated field identifier. Continuing with the above example of the“Medication Given” field, for the trigger identifier “Proc”, theprocessing module 122 can determine, from the trigger dictionary, thatthe corresponding data field for the data “Aspirin” is associated withone of the field identifiers “Medication Given” field or “MedicationAdministered” field.

At 930, the processing module 122 identifies a data field that isassociated with a data field identifier corresponding to the fieldidentifier.

In order to propagate the data associated with the trigger identifier“Proc.” into the form 1010, the processing module 122 identifies a datafield in the form 1010 that corresponds to one of the field identifiers,“Medication Given” field or “Medication Administered” field. As noted,each of the data fields in the form 1010 is associated with acorresponding data field identifier. As shown in FIG. 10, the first rowof the procedure field 1034 can receive the data associated with thetrigger identifier “Proc”.

However, if the processing module 122 is unable to identify a data fieldthat corresponds to one of the field identifiers associated with thetrigger identifier, the processing module 122 can indicate that thecontent data associated with the trigger identifier requires additionalanalysis in order to be propagated into the form 1010. The processingmodule 122 may then store the corresponding content data into the localstorage module 128 or the remote storage 150 for later review andanalysis. The processing module 122 may store the content data inassociation with the trigger identifier and further associate thatcontent data with a manual analysis identifier for indicating thatcontent data requires additional analysis.

At 940, the processing module 122 provides content data associated withthe trigger identifier to the identified data field.

Once the processing module 122 has identified the corresponding datafield, the processing module 122 can provide the corresponding contentdata to that data field.

The processing module 122 may, in some embodiments, determine whetherthe corresponding content data corresponds to the expected contentassociated with the trigger identifier in the trigger dictionary. Forexample, the processing module 122 may review the content data for theCall Date field 1020 to determine whether the content data correspondsto at least date data or time data, which are the expected content forthe Call Date field 1020. If the processing module 122 determines that atext data is instead provided in the corresponding content data, theprocessing module 122 can indicate that content data cannot be inputtedinto the Call Date field 1020 and that further analysis is required forthat trigger identifier and corresponding content data.

The processing module 122 may also store the content data into the localstorage module 128 or the remote storage 150 in association with thetrigger identifier and further associate that content data with a manualanalysis identifier for indicating that content data requires additionalanalysis.

In some embodiments, the processing module 122 may further determine acontent source based on the trigger identifier for the data to beprovided to the identified data field. The data to be provided to theidentified data field may be provided within the received processedaudio data or another data source, such as an external device. Thecontent source can indicate an origin of the content data to be providedto the identified data field.

For example, the trigger identifier may include the term “location”. Theprocessing module 122 can determine, from the trigger dictionary, thatthe corresponding data field is the location field 1026 in the form 1010and that the content source is the Global Positioning System (GPS) thatmay be available via the network 140 or at the applications module 126.The processing module 122 may then initiate communication with the GPSin order to receive the corresponding content data for the locationfield 1026.

In another example, the processing module 122 may determine that thecontent source corresponds to an external device when the data fieldcorresponding to the trigger identifier corresponds to a button controlthat, upon selection, triggers another application to provide contentdata to a corresponding data field. For example, the data field may be acontrol field that may be initiated by the trigger identifier toinitiate a defibrillator available via the interface module 124 toprovide medical information associated with the patient, such as heartrate or waveforms.

It will be understood that other external computing devices that iscapable of communicating data to the record system 120, such as a barcode scanner, a defibrillator and a magnetic card reader, may similarlyprovide content data to the processing module 122 for automatic inputinto a data field.

If content data cannot be retrieved from the external devices, theprocessing module 122 may generate an alert or error message withrespect to that data field. The processing module 122 may proceed toautomatically input the remaining processed audio data into the otherdata fields of the form 1010.

In some embodiments, the processing module 122 may, after providingcontent data associated with the trigger identifier to the identifieddata field, provide a user control, such as audio data control 1050, inproximity of the data field for receiving an input that triggersretrieval of at least a portion of the audio data associated with thecontent data provided to that identified data field. The audio datacontrol 1050 may include an audio icon. The audio data control 1050 maybe useful for facilitating verification of content data and may beappropriate for critical content data or content data that is providedby an external source.

For example, as described, the location field 1026 may be provided bythe GPS. It may be important to verify that the content data providedthe GPS corresponds to a location data that was also provided in theprocessed audio data and therefore, the audio data control 1050 isprovided adjacent to the location field 1026.

The present invention has been described here by way of example only.Various modification and variations may be made to these exampleembodiments without departing from the spirit and scope of theinvention, which is limited only by the appended claims. Also, in thevarious user interfaces illustrated in the figures, it will beunderstood that the illustrated user interface text and controls areprovided as examples only and are not meant to be limiting. Othersuitable user interface elements may be possible.

We claim:
 1. A method of minimizing noise in audio signals received by amicrophone array for automatic entry into one or more data fields, themethod comprising: providing a principal microphone and one or moresupplemental microphones in a microphone array for receiving a principalaudio signal and one or more supplemental audio signals respectively,the principal microphone and each supplemental microphone being spacedfrom one another; for each supplemental microphone: determining acomponent phase shift for calibrating that supplemental microphone;determining an array phase difference based on a spacing between theprincipal microphone and that supplemental microphone, the array phasedifference being relative to the principal audio signal; determining aphase shift associated with a supplemental audio signal received by thatsupplemental microphone with reference to the component phase shift;determining whether any portion of the supplemental audio signal isassociated with a respective phase shift that is different from thearray phase difference; in response to determining that a portion of thesupplemental audio signal is associated with a different phase shiftfrom the array phase difference, identifying frequencies associated withthat portion of the supplemental audio signal; and removing that portionof the supplemental audio signal and a portion of the principal audiosignal associated with the identified frequencies; receiving a processedaudio data from the microphone array, the processed audio data includinga trigger identifier; operating a processor to: search in a triggerdictionary for a field identifier that corresponds to the triggeridentifier, the trigger dictionary including a plurality of triggeridentifiers and each trigger identifier is associated with one or morefield identifiers; identify, from the one or more data fields, a datafield that is associated with a data field identifier corresponding tothe field identifier, the identified data field is provided forreceiving data associated with the trigger identifier; and providingcontent data associated with the trigger identifier to the identifieddata field.
 2. A method of automatically entering processed audio datainto one or more data fields, the method comprising: receiving theprocessed audio data from a speech recognition system, the processedaudio data including a trigger identifier; operating a processor to:search in a trigger dictionary stored in a memory accessible by theprocessor for a field identifier that corresponds to the triggeridentifier, the trigger dictionary including a plurality of triggeridentifiers and each trigger identifier is associated with one or morefield identifiers; identify, from the one or more data fields, a datafield that is associated with a data field identifier corresponding tothe field identifier, the identified data field is provided forreceiving data associated with the trigger identifier; and identifyingfrom the processed audio data a content data associated with the triggeridentifier, and entering the content data into the identified datafield.
 3. The method of claim 2, wherein identifying from the processedaudio data the content data associated with the trigger identifiercomprises: determining a content source for the identified data fieldbased on the trigger identifier, the content source indicating an originof the content data to be entered into the identified data field; andreceiving the content data associated with the trigger identifier fromthe determined content source.
 4. The method of claim 3, wherein: thecontent source comprises the processed audio data, the processed audiodata including the content data associated with the trigger identifier.5. The method of claim 4, wherein identifying from the processed audiodata the content data comprises: providing a user control for receivingan input control signal to access a portion of the processed audio datacorresponding to the content data.
 6. The method of claim 4, whereinidentifying the data field comprises: in response to failing to identifythe data field that is associated with the data field identifiercorresponding to the field identifier, indicating the content dataassociated with the trigger identifier requires additional analysis inorder to be entered into the respective data field.
 7. The method ofclaim 6 further comprises: storing, in the memory, the content dataassociated with that trigger identifier; and associating that contentdata with a manual analysis identifier for indicating that content datarequires additional analysis.
 8. The method of claim 4, wherein: eachtrigger identifier in the trigger dictionary is associated with one ormore expected contents, each expected content indicating data that isacceptable by the corresponding data field; and identifying from theprocessed audio data the content data comprises determining whether thecontent data corresponds with any expected content associated with thattrigger identifier.
 9. The method of claim 8 comprises: in response todetermining the content data fails to correspond to any expectedcontent, indicating the content data associated with that triggeridentifier requires additional analysis in order to be inputted into therespective data field.
 10. The method of claim 9 comprises: storing, inthe memory, the content data associated with that trigger identifier;and associating that content data with a manual analysis identifier forindicating that content data requires additional analysis.
 11. A systemfor automatically entering processed audio data into one or more datafields, the system comprising: a memory to store a trigger dictionary; aprocessor operable to: receive the processed audio data, the processedaudio data including a trigger identifier; access the memory to searchin the trigger dictionary for a field identifier that corresponds to thetrigger identifier, the trigger dictionary including a plurality oftrigger identifiers and each trigger identifier is associated with oneor more field identifiers; identify, from the one or more data fields, adata field that is associated with a data field identifier correspondingto the field identifier, the identified data field is provided forreceiving data associated with the trigger identifier; and identify fromthe processed audio data a content data associated with the triggeridentifier, and entering the content data into the identified datafield.
 12. The system of claim 11, wherein the processor is operable to:determine a content source for the identified data field based on thetrigger identifier, the content source indicating an origin of thecontent data to be entered into the identified data field; and receivethe content data associated with the trigger identifier from thedetermined content source.
 13. The system of claim 12, wherein: thecontent source comprises the processed audio data, the processed audiodata including the content data associated with the trigger identifier.14. The system of claim 13, wherein the processor is operable to:provide a user control for receiving an input control signal to access aportion of the processed audio data corresponding to the content data.15. The system of claim 13, wherein the processor is operable to, inresponse to failing to identify a data field, indicate the content dataassociated with the trigger identifier requires additional analysis inorder to be inputted into the respective data field.
 16. The system ofclaim 15, wherein the processor is operable to: store, in the memory,the content data associated with that trigger identifier; and associatethat content data with a manual analysis identifier for indicating thatcontent data requires additional analysis.
 17. The system of claim 13,wherein: each trigger identifier in the trigger dictionary is associatedwith one or more expected contents, each expected content indicatingdata that is acceptable by the corresponding data field; and theprocessor is operable to determine whether the content data correspondswith any expected content associated with that trigger identifier. 18.The system of claim 17, wherein the processor is operable to, inresponse to determining the content data fails to correspond to anyexpected content, indicate the content data associated with that triggeridentifier requires additional analysis in order to be inputted into therespective data field.
 19. The system of claim 18, wherein the processoris operable to: store, in the memory, the content data associated withthat trigger identifier; and associate that content data with a manualanalysis identifier for indicating that content data requires additionalanalysis.
 20. The system of claim 12, wherein: the content sourcecomprises an external device; and the processor is operable to initiatecommunication with the external device.